#pragma once
#include <string>
#include <list>



class VersionXml
{
public:
    struct Node
    {
        std::string relative;
        std::string key;
    };

    bool Load(const std::string& path);
    bool GetValue(const std::string& key, std::string & value);
    bool SetValue(const std::string& key, const int64_t& value);
    bool Save();

    int64_t GetPacket();
    bool GetStopList(std::list<std::string>& list);
    VersionXml();
    ~VersionXml();


private:
    struct VersionXmlImpl;
    VersionXmlImpl * m_impl{ nullptr };

    VersionXml(const VersionXml&) = delete;
    VersionXml& operator=(const VersionXml&) = delete;
};

